﻿using Abp.Application.Services;
using Abp.Application.Services.Dto;
using MyCompanyName.AbpZeroTemplate.Prm.Admin.Dto;
using MyCompanyName.AbpZeroTemplate.Prm.Authorization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

namespace MyCompanyName.AbpZeroTemplate.Prm.Admin
{
    public interface IProjectRoleAppService : IApplicationService
    {
        Task<List<ProjectRoleOutPut>> GetAll();
        Task<List<dynamic>> GetRoleAuth();
        Task<List<dynamic>> GetRoleDocumentAuth([FromUri]int projectRoleId);

        List<ProjectRoleOutPut> GetPermissionRoles(ProjectFunctions permission);
        Task SetRoleAuth(SetProjectRoleAuthInPut input);
        Task SetRoleDocumentAuth(SetProjectRoleAuthInPut input);
        Task EditRole(EditProjectRoleInPut input);
        Task Remove([FromUri]int projectRoleId);
    }
}
